<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script>
        // 构造函数
        // 创建对象的
        // 构造函数注意点  首字母必须大写
        // 构造函数  不用返回值   
        // 属性前加this就可以给对象添加属性和方法
        function Person(name,age,game1){
            this.name=name;
            this.age=age;
            this.game=function(game=game1){
                console.log('玩'+game);
            }
        }

        var xiaoxie=new Person('xieyanzu',17,'lol');
        var shuyuan=new Person('shuyuan',20,'吃鸡');
        // console.log(xiaoxie.name);
        // console.log(shuyuan.game());

        // 构造函数运行过程
        // 1. 使用new 会直接创建一个空的Object 对象
        // 2. 根据this 给空的Object对象添加属性以及方法
        // 3. 将这个Object对象返回给我们的变量

        // 对象的遍历
        // 遍历  ： 将对象中的属性 或者方法一个一个取出
        // 
        // console.log(xiaoxie.length);
        for(var i in xiaoxie){
            // 可以将属性名 或者方法名 一一取出
            // 可以根据属性名或者方法名得到我们想要的属性或者方法
            console.log(i);
            console.log(xiaoxie[i]);
        }

        // for(var i1 of xiaoxie){
        //     console.log(i1);
        // }
    </script>
</body>
</html>